サンプルプログラム > サンプルコード(Visual C++ 6.0)

サンプルコード(Visual Basic.NET)
サンプルコード(AC出力の設定)

サンプルプログラム

サンプルコード(Visual C++ 6.0)

ここで示されるサンプルはMicrosoft Visual C++ 6.0を前提にしています。I/OライブラリにはVISA ライブラリ(VISA C API)を使用するものとします。

VISAライブラリは当社ウェブサイトから「KI-VISA Library(3.0.x以降)」をダウンロードするか、National Instruments社のNI-VISA(VER.3.0以降、 Windows 2000およびWindows XPでは、VER.3.2以降)またはAgilent Technologies社のAgilent VISA(Agilent I/O Library VER M01.00以降)を使用することができます。

それよりも古いバージョンのVISAではUSB機能を利用できないので注意してください。またUSB機能はWindows95およびNT3.5x/4.0では利用できません。

VISAセッションの取得と通信設定

下記のコードは、後述する全てのサンプルプログラムに共通の部分で、本製品との通信をおこなう前に実行する必要があります。

また変数pVisaAddressに代入するVISAリソース文字列は、GPIB/RS232C/USBによって書式が異なります。

GPIBの場合はデバイスアドレスが5を前提にしています。

RS232Cの場合には通信パラメータを19 200bps, Data 8bits, Stop 1bit, Parity NONE, XFlowを前提にしています。本製品のインターフェース設定をこれらの値と合致するようにしてください。

また、USBの場合は本製品のインターフェース設定で詳細設定すべき項目はありませんが、VISAリソース文字列にUSB VID(ベンダーID)、PID(プロダクトID)、シリアル番号、を明示的に指定する必要があります。VIDとPIDの値は、コンフィグ設定表示でも確認することができます。シリアル番号は、本製品後面パネルで確認することができます。

 

下記サンプルで使用するシリアル番号は一例です。

 

ViSession viRM;            'Resource Manager handle

ViSession vi;              'VISA IO Session handle

ViStatus vs;              'Error Status

LPCSTR pVisaAddress = "GPIB0::5::INSTR";

'LPCSTR pVisaAddress = "ASRL1::INSTR";

'LPCSTR pVisaAddress = "USB0::0x0B3E::0x1009::AB123456::INSTR";

 

vs = viOpenDefaultRM( &viRM);

vs = viOpen( viRM, (ViRsrc)pVisaAddress, VI_NO_LOCK, 0, &vi);

short iIntfType;

vs = viGetAttribute( vi, VI_ATTR_INTF_TYPE, &iIntfType);

switch( iIntfType) {

case 4: 'RS232

vs = viSetAttribute( vi, VI_ATTR_ASRL_BAUD, 19200);

vs = viSetAttribute( vi, VI_ATTR_ASRL_DATA_BITS, 8);                                  

vs = viSetAttribute( vi, VI_ATTR_ASRL_PARITY, VI_ASRL_PAR_NONE);                               

vs = viSetAttribute( vi, VI_ATTR_ASRL_STOP_BITS, VI_ASRL_STOP_ONE);                   

vs = viSetAttribute( vi, VI_ATTR_ASRL_FLOW_CNTRL, VI_ASRL_FLOW_XON_XOFF);             

vs = viSetAttribute( vi, VI_ATTR_ASRL_END_OUT, VI_ASRL_END_TERMCHAR);                 

vs = viSetAttribute( vi, VI_ATTR_ASRL_END_IN, VI_ASRL_END_TERMCHAR);                  

vs = viSetAttribute( vi, VI_ATTR_IO_PROT, VI_PROT_4882_STRS);                         

vs = viPrintf( vi, ":SYST:REM\n");                                                      

break;

case 7: 'USB

vs = viPrintf( vi, ":SYST:REM\n");                                                      

break;

}

 

vs = viSetAttribute( vi, VI_ATTR_TMO_VALUE, 3000);                                    

vs = viSetAttribute( vi, VI_ATTR_WR_BUF_OPER_MODE, VI_FLUSH_ON_ACCESS);

vs = viSetAttribute( vi, VI_ATTR_RD_BUF_OPER_MODE, VI_FLUSH_ON_ACCESS);

 

ここで本製品との通信をします。実行したいプログラムをここに記述してください。

 

vs = viClose( vi);

vs = viClose( viRM);